package com.dubbo;

/**
 * 使用存根的步骤：
 * 1. 写代码，如：
 * 存根要实现接口，并给出带参构造方法
 *
 * 2.做配置
 * <dubbo:service interface="com.xxx" stub="com.xxx" />
 *
 * 只需要在api与provider里面做修改即可
 */
public class IHelloConsumerStub implements IHelloService {

    private final IHelloService iHelloService;

    // 通过构造函数传入真正的远程代理对象
    public IHelloConsumerStub(IHelloService iHelloService) {
        this.iHelloService = iHelloService;
    }


    @Override
    public String sayHello(String say) {
        System.out.println("=========调用了本地存根方法===========");
        // 此代码在客户端执行, 你可以在客户端做ThreadLocal本地缓存，或预先验证参数是否合法，等等
        if (say != null && !say.split("").equals("")) {
            return iHelloService.sayHello(say);
        }
        return null;
    }
}
